package com.sy.service;

import com.github.pagehelper.Page;
import com.sy.dto.CheckHomeworkDetailTab;
import com.sy.dto.HomeworkCheckTab;
import com.sy.dto.StudentMagTable;
import com.sy.dto.TeaInfo;
import com.sy.dto.TeaSimpleInfo;
import com.sy.entity.ClassMsg;
import com.sy.entity.Student;
import com.sy.vo.ScoreVo;
import com.sy.vo.SearchStuByKeywordsVo;
import com.sy.vo.TeaInfoVo;

import java.util.List;

public interface TeacherService {

    /**
     * 获取老师信息
     * @param id
     * @return
     */
    TeaInfo getTeaInfo(String id);

    /**
     * 获取所有老师的信息
     * @return
     */
    TeaSimpleInfo getTeaSimpleInfo(String studentId);
    /**
     * 更新老师信息
     * @param teaInfoVo
     * @return
     */
    boolean updateTeaInfo(TeaInfoVo teaInfoVo);

    /**
     *根据老师id获得班级列表
     */
    List<ClassMsg> getClassListByTeacherId(Integer teacherId) ;

    /**
     * 根据老师id获得所较班级的id列表
     */
    List<Integer> getClassIdListByTeacherId(Integer teacherId);

    /**
     * 根据搜索关键词和老师id搜索学生的表格渲染数据
     */
    List<StudentMagTable> getStudentListByKeyWords(String studyNoSearch,String nameSearch,Integer teacherId);

    /**
     *根据老师id获得学生的表格渲染数据(分页)
     */
    Page<StudentMagTable> getStudentListByTeacherIdForPage(Integer teacherId, Integer page, Integer limit);

    /**
     * 根据搜索关键词和老师id搜索学生的表格渲染数据
     */
    Page<StudentMagTable> getStudentListByKeyWords(SearchStuByKeywordsVo searchStuByKeywordsVo);

    /**
     *根据老师id获取学生的id列表
     */
     List<Integer> getStudentsIdListByTeacherId(Integer teacherId);

    /**
     * 根据老师的id批改作业
     */
    Page<HomeworkCheckTab> getCheckHomeworkTable(Integer teacherId, Integer page, Integer limit);
    /**
     * 根据作业id，学生id，分数id获得成绩表详情的页面的渲染数据
     */
    CheckHomeworkDetailTab getCheckHomeworkDetail(Integer scoreId,Integer homeworkId,Integer studentId);
/**
 * 根据分数id插入选择分和解答题分
 */
    void inputScore(Integer teacherId,Integer scoreId, ScoreVo scoreVo);

    /**
     * 根据班级id获取班级信息
     */
    ClassMsg getClassMsgById(Integer classId);
}
